System Call
시스템 호출(system call)은 운영체제의 커널이 제공하는 서비스에 대해 응용 프로그램의 요청에 따라 커널에 접근하기 위한
인터페이스이다.
보통 C나 C++과 같은 고급 언어로 작성된 프로그램들은 직접 시스템 콜을 사용할 수 없기 때문에 고급 API를 통해
시스템 호출에 접근하게 한다.
시스템 호출의 구현
새로운 시스템콜 sys_hello() 정의하기_UbuntuServer_Celina
1. 시스템 호출 함수 정의
/usr/src/linux-headers-5.4.0-80/arch/arm/kernel
Kernel 소스의 Kernel 디렉터리에 시스템 호출함수를 정의한 프로그램 파일 생성
/home/celina/embed/new_systemcall
#include <linux/kernel.h>
asmlinkage void(sys_hello()){
printk("Hello, this is new system call!\n");
}
asmlinkage: stack을 통하여 parameter 전달fastcall: 몇개의 parameter는 register를 통해 전달
2. 시스템 호출 번호 할당
/usr/include/asm-arm/unistd.h 파일 편집(추가)
중단